﻿/* PC INpact App for Chrome™

	PC INpact App for Chrome™ est une application destinée au Chrome Web Store permettant d'acchéder à PC INpact.
	Elle dispose de fonctionnalités spécifiques, telles que la notification de nouvelles actualités, dossiers...

	Main author : LEGRAND David
	Mail : david@pcinpact.com
	
	Google Code Project : http://pci.im/code-pci-chrome 
	Forum : http://pci.im/forum-pci-chrome
	
    This file is part of PC INpact App for Chrome™.

    PC INpact App for Chrome™ is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    PC INpact App for Chrome™ is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with PC INpact App for Chrome™.  If not, see <http://www.gnu.org/licenses/>. 

    You're not allowed to use PC INpact App for Chrome™ name or logo without permission */

// La fonction qui check s'il y a de nouvelles brèves
function check_breves()
{

	// On définit l'URL de la page contenant l'ensemble des brèves
	var url = "http://www.pcinpact.com/breves/";
	
	// On récupère la page de brève enregistrée et celle en ligne
	var last_breves = window.localStorage.getItem('breves_s');
	var new_breves = get_breves(ext_req(url), url);
	
	// Si last_breves n'a jamais été définit, on récupère la dernière valeur connue
	if (last_breves == null) last_breves == new_breves;
	
	/////////////////////////////////////////
	//
	//	Zone d'entrainement
	//	
	//	last_breves = '';
	//
	/////////////////////////////////////////
	
	// Si les brèves en ligne sont différentes de celles que l'on a enregistré
	if (new_breves != last_breves)
	{
		// On enregistre l'info dans une variable
		window.localStorage.setItem('breves_new', 1);
		
		// On lance une notification
		notify_txt('/pics/cible-pci-128.png', "Alerte - Brèves", "De nouvelles brèves viennent d'être publiées");

	}
	// Sinon on indique qu'aucune nouvelle brève n'est disponible
	else 
	{
		window.localStorage.setItem('breves_new', 0);
	}
}

// La fonction qui récupère le flux de brèves
function get_breves(responseText, url) 
{
	// On parse le résultat via indexOf et substring, pour extraire le bloc désiré
	var result = extract(responseText, "<ul id=\"all_breves", '<div id=\"more_b\">', 0)

	// On nettoie le code des styles appliqués
	result = result.replace(/style=\"list-style-type:none;margin:0;padding:0;clear:both\"/gi, '');
	result = result.replace(/style=\"padding:4px; \"/gi, '');
	result = result.replace(/style=\"font-size:9px;\"/gi, '');

	// On créé un bloc qui redirige vers l'ensemble des brèves
	var bloc_all_breves = "<a href='" + url + "' target='_blank'>Accéder l'ensemble des brèves de PC INpact</a></h1></div>";

	// On travaille la mise en page du résultat
	result = "<div class='titre_breves'>" + bloc_all_breves + "<div class='conteneur_breves'>" + result + "</div>" + "<div class='titre_breves_last'>" + bloc_all_breves;
	
	// On enregistre le résultat pour la vérification de nouvelles brèves
	window.localStorage.setItem('breves_s', result);
	
	// On renvoie le résultat
	return result;
}